package com.quartet.modules.order.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单表(TOrder)表实体类
 *
 * @author makejava
 * @since 2021-05-04 16:40:21
 */
@Data
public class TOrder {

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * //订单类型 1：新购 1：续费
     */
    @ApiModelProperty(value = "//订单类型 1：新购 1：续费")
    @TableField(fill = FieldFill.DEFAULT)
    private Integer orderType;

    /**
     * 订单编码
     */
    @ApiModelProperty(value = "订单编码")
    @TableField(fill = FieldFill.DEFAULT)
    private String orderCode;

    /**
     * 订单名称
     */
    @ApiModelProperty(value = "订单名称")
    @TableField(fill = FieldFill.DEFAULT)
    private String orderName;

    /**
     * 父订单编码
     */
    @ApiModelProperty(value = "父订单编码")
    @TableField(fill = FieldFill.DEFAULT)
    private String baseOrderCode;

//    /**
//     * 终端编码
//     */
//    @ApiModelProperty(value = "终端编码")
//    @TableField(fill = FieldFill.DEFAULT)
//    private String terminalCode;

    /**
     * 购买用户
     */
    @ApiModelProperty(value = "购买用户")
    @TableField(fill = FieldFill.DEFAULT)
    private String purchasingUser;

    /**
     * 授权功能
     */
    @ApiModelProperty(value = "授权功能")
    @TableField(fill = FieldFill.DEFAULT)
    private String authorizationFunction;

    /**
     * 购买/续费数量
     */
    @ApiModelProperty(value = "购买/续费数量")
    @TableField(fill = FieldFill.DEFAULT)
    private Integer quantity;

    /**
     * 使用周期
     */
    @ApiModelProperty(value = "使用周期")
    @TableField(fill = FieldFill.DEFAULT)
    private Integer usePeriod;

    /**
     * 单价
     */
    @ApiModelProperty(value = "单价")
    @TableField(fill = FieldFill.DEFAULT)
    private BigDecimal price;

    /**
     * 支付总价
     */
    @ApiModelProperty(value = "支付总价")
    @TableField(fill = FieldFill.DEFAULT)
    private BigDecimal totalPaymentPrice;

    /**
     * 周期开始时间
     */
    @ApiModelProperty(value = "周期开始时间")
    @TableField(fill = FieldFill.DEFAULT)
    private LocalDateTime startTime;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @TableField(fill = FieldFill.DEFAULT)
    private String remarks;

    /**
     * 支付状态 1：未支付 2：已支付 3:已废弃
     */
    @ApiModelProperty(value = "支付状态 1：未支付 2：已支付 3:已废弃")
    @TableField(fill = FieldFill.DEFAULT)
    private Integer paymentStatus;

    /**
     * 客户编码
     */
    @ApiModelProperty(value = "客户编码")
    @TableField(fill = FieldFill.DEFAULT)
    private String customerCode;

    /**
     * 应用类型
     */
    @ApiModelProperty(value = "应用类型")
    @TableField(fill = FieldFill.DEFAULT)
    private String applicationType;

    /**
     * 过期时间
     */
    @ApiModelProperty(value = "过期时间")
    @TableField(fill = FieldFill.DEFAULT)
    private LocalDateTime expireTime;

    /**
     * 订单key
     */
    @ApiModelProperty(value = "订单key")
    @TableField(fill = FieldFill.DEFAULT)
    private String orderKey;

    /**
     * 删除标识 0未删除 1删除
     */
    @ApiModelProperty(value = "删除标识 0未删除 1删除")
    @TableLogic
    private Integer deleted;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;

}
